import FlyIO from 'flyio/dist/npm/wx'
import store from '../store'

// 1. 创建新的 FlyIO 实例
const http = new FlyIO()

// 2. 配置基地址
http.config.baseURL = 'https://api-hmugo-web.itheima.net/api/public/v1'

// 3. 配置超时时间
http.config.timeout = 30000

// 4. 请求拦截器
http.interceptors.request.use((request) => {
  // console.log(request, '-----')
  // 4.1 配置消息提示
  uni.showLoading({
    title: '正在加载中...',
    mask: true
  })

  // 4.2 判断请求的是否为需要权限的 API, 是的话为请求头添加身份认证字段值
  if (request.url.indexOf('/my/') !== -1) {
    request.headers.Authorization = store.state.user.token
  }

  return request
})

// 5. 响应拦截器
http.interceptors.response.use((res) => {

  // 5.1 关闭消息提示
  uni.hideLoading()

  return res.data
}, (error) => {
  // 5.2 关闭消息提示
  uni.hideLoading()
  return Promise.reject(error)
})

export default http

